home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Free 6
/
Commodore_Free_Issue_06_2007_Commodore_Computer_Club.d64
/
t.romram 2
< prev
Wrap
Text File
|
2023-02-26
|
11KB
|
369 lines
u
The 6502-RAMROM as drive expander
Part 2
==============================
i Wolfgang Moser and Nicolas Welte
Now, with the patched ROMs, I was able
to Flash other ROM banks without the
need to switch back to the original
CBM DOS 2.6 ROM (which worked
flawlessly with all previous tests).
Problems with the prototype another
problem manifested when analyzing the
[store-to-ROMk problem with the drive
expansion 6502-RAMROM prototype What
happens, when someone wants to flash
the whole ROM, but the DD2 RAM
configuration is selected?
Because the DD2 RAM overlays the
drive's address space from 0x8000 to
0x9FFF the Flash-ROM cannot be
addressed there. Furthermore, DD2 went
crazy, whenever the Flash enable
switch was set. Nicolas detected the
problem by carefully reviewing the
1541 GAL equations.
The Flash option switch disables the
overlaying RAM for write operations.
Not a big task, because only the GAL
needs to be replaced, I thought. First
we decided to patch the floppy DOS ROM
part of Dolphin-DOS 2.0. The ROM code
should not access the 8kB RAM at the
memory address location
0x8000...0x9FFF anymore, but at the
addresses 0x6000...0x7FFF. That way no
changes to the 6502-RAMROM would
needed, because the RAMboard
configuration could be used instead.
And flashing the full 32kB ROM bank
should become possible, too. But
Nicolas reported, that the patched
DD2-6 ROM didn't work, although other
tests with the VICE emulator showed no
problems. He found out, that there was
a real hardware problem, that depends
on the special address decoding
behaviour of the CBM drive series (RAM
and especially VIA locations mirrored
at different addresses; IRQ flag
handling). Since the PET and VIC20
computers don't contain such mirrored
device address spaces, this problem
couldn't be detected with the
PET/VIC20 6502-RAMROM prototypes.
The Solution Nicolas worked out a
solution, that needed the least
possible changes to the PCB in
combination with changed GAL
equations. Without the GAL, this fix
would have been a huge patch orgy.
Unfortunately you have to redo the
patch if you want to use the
6502-RAMROM in a VIC20 or PET again.
Although not needed I installed some
jumpers to easily configure the PCB
for both options.
In the meantime I tested flashing
other Flash-ROMs with different sizes.
I had an AT29C020 as spare and tested
the bigger flashing page size. Reading
out the ROM contents with the
c't-Flasher at my PC again showed no
differences. Note: you can't
access/flash half of the banks of this
ROM type without further hardware
modifications. Then I tested an
AT29C256 as a small replacement for my
C64 Kernal switch board.
[AT29C256 to 32 pin Flash-Adaptor,
bottom view,
[AT29C256 to 32 pin Flash-Adaptor,
top view,
Before I had to build a small Flash
adaptor, because the 29C256 has got a
different pinout (28 pins) than the
standard 32 pin Flash ROM chips. I
hacked Nicolas' Flash-ROM board a
little bit by cutting some traces.
Although the Flash-ROM PCB was not
designed for this purpose it fitted my
needs best (instead of building a
cable wired adaptor).
Flashing the 29C256 with the least
possible page size brought me a very
small kernal switch board in a few
minutes; thanks to the well designed
Flasher software , that is able to
burn different parts of the ROM chip
in several steps (by selecting a start
address of 0x8000, 0xA000, 0xC000 or
0xE000).
6502-RAMROM final release test report
from Womo, 2003-02-16 Retesting
different flashing scenarios to check,
that the problems with Dolphin-DOS
were gone After I got the new changed
GALs I repeated all the earlier tests:
Flashing the original CBM DOS V2.6
into bank 0 Selecting bank 0 and
flashing the patched SpeedDOS 40
tracks ROM into bank 1 Selecting bank
1 and flashing the original
Dolphin-DOS 2.0 ROM into bank 2.
Because of the applied SpeedDOS ROM
patch, the Flash procedure went
flawlessly.
Selecting bank 2, configuring the DD2
RAM configuration and flashing the
patched Dolphin-DOS-2.0-6 ROM (RAM a
location 0x6000 to 0x7FFF) into bank
3. No problems with that and it shows,
that you can now Flash the ROM
locations from 0xA000 to 0xFFFF, when
the original Dolphin-DOS 2.0 is
enabled. But don't try to Flash the
ROM location at 0x8000. Because it is
used by DD2's RAM, the drive may
become stubborn.
Selecting bank 3, configuring the
RAM-Board configuration and flashing
the Dolphin-DOS 3.0 ROM into bank 0.
With the patched DD2-6 ROM the full
ROM bank (0x8000 to 0xFFFF) could be
flashed without any problem, thanks to
the hardware modification and the new
GAL. After preparing some matching C64
Kernal ROMs [AT29C256 to C64
Kernaladaptor, top view,
[AT29C256 to C64 Kernaladaptor,
bottom view,]
I started testing the burned SpeedDOS
and Dolphin-DOS versions. As mentioned
earlier the patched SpeedDOS and also
the original Dolphin-DOS ROM worked
without problems. I also tested some
special Dolphin-DOS copy programs
(Dolphin-Copy) without problems. The
patched Dolphin-DOS-2.0-6 (RAM at
0x6000) is another task, with this
ROM, the Dolphin-Copy program doesn't
work, because the RAM location seems
to be hardcoded into the copy tool. I
also tested Dolphin-DOS 3.0, which
worked fine with the exception that it
was nearly as slow as the original CBM
DOS.
No wonder, because DD3 makes use of an
extra parallel port chip (6821 PIA)
within the drive. It cannot
communicate over the standard parallel
port cable connected to the VIA 6522,
therefore it has to use the slow
serial bus transfer routines.
The future and some ideas Until now,
mainly the ROM part of the 6502-RAMROM
was tested, in the future I'll have to
look at the RAM configurations,
especially in some applications for
the maxRam-Mode. Perhaps Markus
Brenner wants to jump in here and
extends his Burstnibbler based
transfer tool [mnibk , so that much
more sophisticated copy protections
can be dumped to G64 disk images. I
already started analyzing the
Dolphin-DOS 3.0 DOS ROM looking for
all the parallel port accesses to the
6821 PIA. Maybe I'm able to patch it,
so that it makes use of the VIA 6522
parallel port.
This way people may use Dolphin-DOS
3.0 without hardware hacking; that
means adding an additional 6821 PIA
into the floppy. I should take my
1571 floppy drive sometime and test it
with the 6502-RAMROM, too.
There are other floppy speeders,
especially designed for this drive.
Not only to mention Dolphin-DOS 3.0
for the 1571, but especially
Prospeed-1571. With this drive, the
maxRam mode of the 6502-RAMROM cannot
be used, it would overlay the 1571's
CIA and the registers of the WD177x
controller.
It may be interesting what could
happen, if the maxRam mode is used
nevertheless. Not enough, there are
more problems with the Commodore 1571
disk drive.
Since there is incredibly little space
between the mainboard and the
transformer assembled over it, I
currently don't know, how to insert
the 6502-RAMROM into the 1571 drive
best. One solution may be to connect
the board with some flat cable to the
processor socket. As for the parallel
cable connector (1571 Burstnibbler
cable compatible) I already built
another lowest profile adaptor.
[Inserted 1571 low profileparallel
cable adaptor,
[Space upon 1571 low profile parallel
cable adaptor,
[1571 low profile parallel cable
adaptor, top view,
[1571 low profile parallel cable
adaptor, bottom view,
Conclusion and application scenarios
Speeder system [emulatork[Emulatingk
different DOS ROMs and simple speeder
systems like Jiffy-DOS, SpeedDOS or
Dolphin-DOS is the playfield of the
6502-RAMROM, when inserted into
Commdore's disk drives. You only need
to add a simple parallel cable for
some of these systems.
Atmel Flash device programmer
In combination with a patched
Dolphin-DOS (DD2-6) , this hardware
extends your floppy disk drive to a
full blown high speed Atmel Flash
device programmer. You will never need
to handle with EPROMs and EPROM
burners again. There is no need
anymore for transfering the ROM files
slowly to the computer memory before
they can be written to the EPROM. The
well designed flasher software makes
your life even simpler.
Maybe you want to replace your system
ROMs with DD2-6, which requires some
little hardware modification (using
address line A14 for switching the
upper and lower part of the DD2 ROM at
0xA000/0xE000); this way you can flash
the whole chip. Nicolas is also
working on more functions, like
programmable bank switching about
unused VIA/CIA port lines.
Maybe not only Dolphin-DOS-2.0-6 can
speed up the Flash process a little
bit, but other drive speeders like
Jiffy-DOS, too. Because of the special
designed In-System-Flash software, the
whole process is not really slow on a
1541 drive equipped with a standard
CBM DOS (35 seconds for 32kB).
So you don't need to install a speeder
system or ROM in any case, instead it
is an option. And Nicolas said, the
Flash software contains some potential
for speedups with the 1541 drive.
Let's wait, test and see...
RAM (only) expander (1541/1571
RAMBoard) and RAM diagnostic
moduleMore applications of this board
may rely on the RAM option only, you
could save some money by not making
use of the Flash-ROM chip. Copy
software like the well known tool
series Maverick already know how to
use a RAMBoard equipped drive which
the 6502-RAMROM can easily be
configured to [emulatek.
Perhaps Michael Klein (cbm4linux or
other people may want to develop
special software, that makes use of a
maxRAM equipped disk drive (nearly
32kB of RAM usable). Not to mention
the RAM diagnostic functionality that
replaces the drive's builtin RAM by
the one from the 6502-RAMROM.
Things, the 6502-RAMROM can't do
easily Because the hardware was mainly
designed for universality and
simplicity, it is not a general
speeder system hardware emulator.
Systems like Dolphin-DOS 3.0,
Professional-DOS or Prologic-DOS
cannot be used without further
extensions or ROM patches. This
purpose may be the job of another
hardware extension board, one of the
projects I am currently working on.
Taken from the website
http://d81.de/6502RamRom/
i Wolfgang Moser and Nicolas Welte Re
printed with owners consent Notes From
Wolfgang Moser on the project
====================================
Email: -Wolfgang Moser
in general I agree about reprinting
parts of my online article, if
authorship is made clear and the
origin of this article is named.
Spelling corrections may be done. Then
the article sometimes contains
outdated informations, like e.g.:
"Nicolas is also working on more
functions, like programmable bank
switching about unused VIA/CIA port
lines."
Nicolas is currently not working on
extensions to the 6502-RamRom, it
perfectly does its job as it is.
Since Nicolas also may want to agree
to reprint my article or because he
wants to point out other things, he
got a Bcc copy of this mail.
Commodore Free I received no email
from Nicolas but decided to print the
article
...end...